专利摘要:
information processing apparatus and update process support system. an information processing device that includes a restarting information storage unit for respective versions of programs that are targets for installing an electronic device, the restarting information indicating whether the electronic device needs to be restarted when a first first version program installed on the electronic device is updated to a second version second program; an extraction unit that extracts difference information that indicates a difference between the first program and the second program in response to a request to purchase the second program in response to a request to purchase the second program, the request that specifies the first version the first program; a determination unit that determines whether the electronic device needs to be restarted when the second program is installed, based on the difference between the first version and the second version indicated in the difference information and the information on the need to restart; and a response unit configured to return a determination result.
公开号:BR112013003593B1
申请号:R112013003593-5
申请日:2011-08-08
公开日:2020-12-15
发明作者:Xiaofeng Han;Yuuko Sugiura;Tomoyo Hirokawa;Taku Ikawa
申请人:Ricoh Company, Ltd;
IPC主号:
专利说明:

Technical Field
[0001] The present invention relates to an information processing apparatus and an update process support system, and more particularly to an information processing apparatus and an update process support system to support an update process of a program. Background of the technique
[0002] In recent years, imaging devices such as printers, copiers, scanners, fax machines, and multifunctional peripherals that implement these functions in a single housing, have a CPU similar to that of general purpose computers, and several functions are implemented by application control, although memory restrictions are strict (see, for example, patent document 1).
[0003] There are some examples of imaging devices that are provided with a platform to implement and run applications. After shipment, applications that are appropriate for the user's usage environment can be created and installed, to improve functions.
[0004] Meanwhile, applications are generally updated for the purpose of correcting errors and expanding functions. When an application is updated, the imaging device on which the application is installed performs an application update process. After executing the update process, the image training device is reset to activate the updated content.
[0005] However, in practical situations, the imaging device may not always need to be restarted for all updating processes. If the update only involves a small change, the imaging device does not need to be restarted.
[0006] In particular, an imaging device on which applications can be installed is typically divided by plural users in an office. If such an imaging device is restarted, users' business operations can be significantly affected. Thus, the frequency of restarting an imaging device is preferably minimized.
[0007] Patent Document 1: Japanese Patent Application filed Open No. 2008-084304 Disclosure of the Invention
[0008] The present invention was made in view of the problems described above, and it is an objective of at least one embodiment of the present invention to provide an information processing apparatus and an update process support system capable of improving the efficiency of processes update programs.
[0009] One aspect of the present invention provides an information processing apparatus that includes a restart need information storage unit configured to store restart need information for respective versions of at least one program that is an installation target of an electronic device, the information on the need to restart indicating whether the electronic device needs to be restarted when a first program that corresponds to a first version installed on the electronic device is updated to a second program that corresponds to a second version; a difference extraction unit configured to extract difference information from the second program that indicates a difference between the first program and the second program in response to a request to purchase the second program, the request that specifies the first version of the first installed program on the electronic device; a determination unit configured to determine whether the electronic device needs to be restarted when the second program is installed, based on the difference between the first version of the first program and the second version of the second program indicated in the difference information and also based on the information need to restart; and a response unit configured to return a determination result obtained by the determination unit.
[0010] One aspect of the present invention provides a non-transitory computer-readable storage medium with an executable program stored therein, in which the program instructs a computer processor to execute a method that includes extracting the difference information that indicates a difference between a first program that corresponds to a first version installed on an electronic device and a second program that corresponds to a second version in response to a request to acquire the second program, the request that specifies the first version of the first program; determining whether the electronic device needs to be restarted when the second program is installed, based on the difference between the first version of the first program and the second version of the second program indicated in the difference information and also based on the restart need information stored in a restarting information storage unit for respective versions of at least one program that is an electronic device installation target, the restarting information indicating whether the electronic device needs to be restarted when the first program that matches the first version installed on the electronic device is updated to the second program that corresponds to the second version; and returning a determination result obtained in the determination.
[0011] One aspect of the present invention provides an update process support system that includes an information processing apparatus that includes a restart need information storage unit configured to store restart need information for the respective versions of at least one program that is an installation target for an electronic device, the restart need information that indicates whether the electronic device needs to be restarted when a first program that corresponds to a first version installed on the electronic device is updated to a second program corresponding to a second version, a difference extraction unit configured to extract difference information from the second program that indicates a difference between the first program and the second program in response to a request to acquire the second program, the request specifying the first version of the first program installed on the d electronic device, a determination unit configured to determine whether the electronic device needs to be restarted when the second program is installed, based on the difference between the first version of the first program and the second version of the second program indicated in the difference information and also with based on the restart need information, a response unit configured to return a determination result obtained by the determination unit, the update process support system which additionally includes an update control unit configured not to restart the electronic device after the first program is updated to the second program, when the determination result returned from the information processing device does not require that the electronic device be restarted. Brief Description of Drawings
[0012] FIG. 1 illustrates an example of a system according to a first embodiment of the present invention;
[0013] FIG. 2 illustrates an example of a hardware configuration of a program management server according to a first embodiment of the present invention;
[0014] FIG. 3 illustrates an example of a hardware configuration of an image forming apparatus according to a first embodiment of the present invention;
[0015] FIG. 4 illustrates an example of a functional block diagram of the image forming apparatus and the program management server according to the first embodiment of the present invention;
[0016] FIG. 5 is a sequence diagram for describing the processing procedures of a process for updating an application on the imaging apparatus according to a first embodiment of the present invention;
[0017] FIG. 6 illustrates an example of installation information;
[0018] FIG. 7 illustrates an example of a result of determining whether a restart is necessary;
[0019] FIG. 8 is a flowchart for describing the processing procedures for determining whether a restart is necessary, performed by the program management server;
[0020] FIG. 9 illustrates an example of an application configuration that is an acquisition target;
[0021] FIG. 10 illustrates an example of difference information;
[0022] FIG. 11 illustrates an example of a restarting information storage unit configuration;
[0023] FIG. 12 illustrates an example of difference component information;
[0024] FIG. 13 illustrates an example of a system configuration according to a second embodiment of the present invention; and
[0025] FIG. 14 is a sequence diagram for describing the processing procedures of a process for updating an application on the imaging apparatus in accordance with the second embodiment of the present invention. Best Way to Carry Out the Invention
[0026] Modalities of the present invention are described below with reference to the accompanying drawings.
[0027] FIG. 1 illustrates an example of a system according to a first embodiment of the present invention. As illustrated in FIG. 1, one or more imaging apparatus 20 and a program management server 10 are connected to each other via a network 50 (wired or wireless) such as LAN (Local Area Network) or the internet, from a way communications can be carried out.
[0028] The imaging apparatus 20 is an example of an electronic device, such as a multifunctional peripheral, a copier, a printer, or a fax machine. The imaging device 20 can be any other electronic device as long as the programs can be installed and updated on the imaging device 20.
[0029] The program management server 10 is a computer (information processing device) for managing programs installed on the image training device 20. For example, in response to a requirement to acquire a program from the training device image 20, the program management server 10 returns a response that includes the requested program for the image forming apparatus 20.
[0030] FIG. 2 illustrates an example of a hardware configuration of the program management server 10 according to an embodiment of the present invention. The program management server 10 illustrated in FIG. 2 includes a drive device 100, a secondary storage device 102, a memory device 103, a CPU 104 and an interface device 105, which are interconnected by a B bus.
[0031] Programs for implementing processes on the program management server 10 are provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 having a program recorded on it is defined on the drive device 100, the program is installed on the secondary storage device 102 from the recording medium 101 through the drive device 100. However, programs may not necessarily be installed from the recording medium 101; the programs can be downloaded from other computers over a network. Secondary storage device 102 stores installed programs as well as necessary files and data.
[0032] The memory device 103 reads a program from the secondary storage device 102 and stores the reading program in response to an instruction to activate the program. CPU 104 performs functions relevant to program management server 10 according to programs stored in memory device 103. Interface device 105 is used to connect to a network.
[0033] FIG. 3 illustrates an example of a hardware configuration of the imaging apparatus 20 according to an embodiment of the present invention.
[0034] As illustrated in FIG. 3, the imaging apparatus 20 includes hardware elements such as a controller 21, a scanner 22, a printer 23, a modem 24, an operating panel 25, a network interface 26, and an SD card slot 27 .
[0035] Controller 21 includes a CPU 211, a RAM 212, a ROM 213, and an HDD 214. ROM 213 records various programs and data used by the programs. RAM 212 is used as a storage area for loading programs and a work area for loaded programs. CPU 211 processes programs loaded into RAM 212 to implement various functions. The HDD 214 records programs and various data items used by the programs.
[0036] Scanner 22 is a hardware element for scanning an original document to obtain image data. Printer 23 is a hardware element for printing data on a sheet. Modem 24 is a hardware element for connecting the imaging apparatus 20 to a telephone line for transmitting and receiving image data by fax communication. The operating panel 25 is a hardware element that includes an output unit such as a pointer to receive input from a user, and a display unit such as a liquid crystal panel. The network interface 26 is a hardware element for connecting the imaging apparatus 20 to a network (wired or wireless) such as LAN. The SD card slot 27 is used to read programs recorded on an SD card 80. On the imaging apparatus 20, in addition to programs recorded on ROM 213, programs recorded on SD card 80 can also be loaded and executed in RAM 212. Other recording media (for example, a CD-ROM and a USB memory (universal serial bus)) can be used instead of the SD 80 card. This means that the type of recording medium that corresponds to the SD 80 card it is not particularly limited. The SD card slot 27 can be replaced by a hardware element according to the type of recording medium.
[0037] FIG. 4 illustrates an example of a functional block diagram of the imaging apparatus 20 and the program management server 10 according to the first embodiment of the present invention.
[0038] As illustrated in FIG. 4, the imaging apparatus 20 includes one or more applications 221, one or more items of firmware 222, an update control unit 223, an installation information storage unit 224, and a temporary file storage unit update 225. Applications 221 are programs to make the imaging device 20 perform work according to instruction inputs via the operation panel 25. Firmware items 222 are programs to make the training device image 20 perform functions that are more primitive or lower-level than applications 221. Each application 221 or each item of firmware 222 can be an assembly (program assembly) of programs (program components) that include one or more components program files (program files). A program component is a software element that is typically referred to as a program module. However, a program (for example, an EXE file) that is executable as a single body is also included in the concept of a program component according to the present modality. Examples of program components are JAR files (Java file (trademark)) and attribute files in which relevant information is assigned to the 221 application and the firmware item 222 is described. However, the implementation of a program component is not particularly limited. A program component can be a relative concept. For example, JAR includes one or more class files. Thus, from the point of view of a JAR file, a class file is a program component. Thus, a program component is not necessarily a unit that cannot be further segmented; a program component can have a hierarchical structure. This means that a program component can include a lower level program component.
[0039] In the present modality, a program set is a distribution unit. Specifically, programs can be installed, uninstalled, or updated (improved) in units of the 221 applications and 222 firmware items. However, the included program components in program setup, they can be separately modified (improved). Therefore, the program components that belong to the same application 221 or firmware item 222 can be of different versions (version numbers). The version numbers of the program components can be from different systems (expressions). As a program component is updated, the version of the program assembly that includes the improved program component is also updated (improved).
[0040] The update control unit 223 controls the update process (or replacement process) of the 221 applications or firmware items 222 on the imaging device 20. An update process is to replace an old version with a version new (however, an update in the opposite direction can be performed). In the present modality, it is assumed that the update process is a modality of an installation process. This means that an update process is included in the concept of an installation process.
[0041] The update control unit 223 is a virtual unit implemented as a program installed on the imaging apparatus 20 which causes the CPU 211 of the imaging apparatus 20 to execute a process.
[0042] The installation information storage unit 224 stores attribute information of program components installed in the image forming apparatus 20, using the HDD 214. This means that the attribute information is not managed in units of image program assemblies such as applications 221 and firmware items 222, but in units of program components. The same program component can be divided by application 221 and firmware item 222. This is to avoid a case of redundantly managing attribute information relevant to the same program component. However, there may be separate attribute information items for the respective 221 applications and firmware 222 items, and separate attribute information items for the program components belonging to the respective 221 applications and firmware 222 items, stored by the drive. installation information store 224. Attribute information includes a product ID and application version 221, firmware item 222, or the program component (hereinafter, these items may be collectively referred to as a “program” when these items are not particularly distinguished from each other). A product ID is identifying information to indicate the type of program. This means that the product ID is no different for each program entity; the same product ID is applied to the programs if the programs are of the same type.
[0043] The update file temporary storage unit 225 temporarily stores an update file downloaded from program management server 10, using HDD 214. An update file is a file (for example, a file file) including an application program component 221 or firmware item 222 that is an update target. However, an update file cannot be formed as a single file. An update file can be a set of files that correspond to plural program components.
[0044] The program management server 10 includes a request receiving unit 11, a difference extraction unit 12, a determination unit 13, a response unit 14, a restart need information storage unit 15, and a program storage unit 16.
[0045] The order receiving unit 11 receives, from the image forming apparatus 20, a request to acquire the application 221 or the firmware item 222 which is an update target. The purchase order includes the product ID and application version 221 or the firmware item 222 that is the acquisition target, and a list of attribute information items for program components installed on the imaging apparatus 20.
[0046] The difference extraction unit 12 extracts difference information from a program component included in the program assembly that is the target of acquisition, with respect to a program component installed in the image forming apparatus 20. The information of The difference includes, for example, the program ID and the version of a program component included in a program assembly that is an acquisition target, but which is not installed on the imaging apparatus 20. Additionally, if the version of a program component already installed on the imaging apparatus 20 is different from that of the program component included in the program assembly which is the target of acquisition, the program ID and the two different versions of the corresponding program component are also included in the difference information. The two different versions mean that the version installed in the image forming apparatus 20 and the version included in the program set-up that is the target of acquisition.
[0047] The determination unit 13 determines whether it is necessary to restart the imaging device 20 after the update process (after the installation process) of the program assembly that is the acquisition target, based on the difference information and the restarting information storage unit 15.
[0048] The determination unit 13 returns the result of determining the determination unit 13 and the program set-up that is the acquisition target, for the image forming device 20.
[0049] The restarting information storage unit 15 stores, using secondary storage device 102, information that indicates whether it is necessary to restart the imaging device 20 when updating the version from a version above, for the respective versions of program components.
[0050] The program storage unit 16 stores, using secondary storage device 102, the entity (file) of application 221 or firmware item 222 that has been packaged (for example, archived). However, the entity can be managed in a state where the entity is broken up into separate program components. In this case, a package (program assembly) of the 221 application or 222 firmware item must be dynamically created according to the 221 application or 222 firmware item that is the target of the download.
[0051] The following describe process procedures of the imaging apparatus 20 and the program management server 10. In the following, the program assembly that is an update target is described as application 221, as a matter of convenience . However, the same processing procedures are basically applicable to a case where firmware item 222 is the target for update.
[0052] FIG. 5 is a sequence diagram for describing the processing procedures of a process for updating an application 221 on the imaging apparatus 20 according to the first embodiment of the present invention. In carrying out the processing procedures of FIG. 5, it is assumed that the user has selected the application 221 that is an update target, through the operation panel 25.
[0053] In step S11, the update control unit 223 of the imaging device 20 specifies the product ID and version of the selected application 221 as the update target, and transmits a request to purchase the application 221 to the server program management 10. When a version is not specified, such as the latest version. In addition, the purchase order also includes a list of attribute information items (hereinafter “installation information”) of program components that have been installed on the imaging apparatus 20, which is recorded on the image storage unit. installation information 224.
[0054] FIG. 6 illustrates an example of the installation information. As illustrated in FIG. 6, the installation information includes attribute information such as a product ID, version, and a file name, stored for each program component installed on the imaging apparatus 20. The file name is not mandatory as it each program component can be identified by the product ID. However, when program components must be identified by file names, product IDs are not mandatory.
[0055] When the application 221 that is the acquisition target includes plural program components, the purchase order corresponds to an acquisition order for plural programs (plural program components).
[0056] The purchase order is received by the receiving unit of requirement 11 of the program management server 10. The program management server 10 determines whether the imaging apparatus 20 should be restarted, when the application 221 specified as an acquisition target in the acquisition order is updated (installed) on the imaging apparatus 20 (step S12). Then, the determination unit 13 of the program management server 10 returns, to the update control unit 223 , an update file that includes application 221 specified as the acquisition target and the result of determining whether a restart is required (step S13). Application 221 is purchased from program storage unit 16, based on the program ID and the version specified in the purchase order. This means that on program storage unit 16, applications 221 and firmware items 222 are written in association with product IDs and versions.
[0057] When a response is received from the program management server 10, the update control unit 223 saves the update file included in the response in the update file staging unit 225 (step S14).
[0058] The update control unit 223 then determines whether the restart of the imaging apparatus 20 based on the result of determining whether a restart is necessary is included in the response from the program management server 10.
[0059] FIG. 7 illustrates an example of a result of determining whether a restart is necessary. FIG. 7 illustrates an example in which the determination result is expressed in an XML (extensible markup language). This means that the determination result is indicated as a value of a reset element. In the determination result, “truth” means that the restart is necessary, and “false” means that the restart is unnecessary. The determination result can be expressed in a different format than XML.
[0060] When the determination result included in the response from the program management server 10 indicates that a restart is required (when a restart is requested), the update control unit 223 causes the operation panel 25 to display an image screen to inquire whether restart is allowed (hereinafter “restart confirmation screen image”). In the restart confirmation screen image, when restart rejection is selected, update control unit 223 finishes the process of FIG. 5. In this case, restarting and updating the application 221 is not performed. Therefore, the user continues to use the non-updated version of application 221 that corresponds to the update target. This means that the user can reject the restart when the timing is not appropriate for the restart, based on the state of use of the image forming device 20. In this way, the user can continue business operations using the training device. image 20 without being forced to discontinue use of the image 20 apparatus.
[0061] When the user selects to allow a restart on the restart confirmation screen image, the update control unit 223 restarts the imaging device 20 (step S15).
[0062] In the process of restarting the imaging device 20, the update control unit 223 confirms that an update file is saved in the update file temporary storage unit 225. When an update file is saved, the update control unit 223 performs an update process on application 221 included in the update file (step S16). When the update process is successful, update control unit 223 deletes the update file from the storage unit temporary update file 225. This means that an update file being saved to the update file temporary storage unit 225 means that application 221 needs to be updated based on the saved update file when the training device is restarted Thus, even when the user has selected to reject the restart on the restart confirmation screen image, the next time the imaging device 20 is restarted, the update control unit 223 performs an update process in application 221 according to the update file saved in the update file staging unit 225.
[0063] Meanwhile, when the determination result included in the response from program management server 10 indicates that restart is unnecessary (when restart is not required), update control unit 223 performs an update process without displaying the image restart confirmation screen (step S16). However, a screen image to ask if the update process should start immediately (hereinafter “update confirmation screen image”) can be displayed on the operation panel 25. When the user selects to allow the update process to start update in the update confirmation screen image, the update control unit 223 immediately performs the update process. When the user selects to reject the start of the update process on the update confirmation screen image, the update control unit 223 does not start the update process and ends the process of FIG. 5. Thus, the user continues to use the non-updated version of application 221 that corresponds to the update target. Even when the user has chosen to reject the start of the update process, the next time the imaging device 20 is restarted, the update control unit 223 automatically performs the update process.
[0064] The following is a detailed description of the process performed by the program management server 10 in step S12.
[0065] FIG. 8 is a flowchart to describe the processing procedures for the process of determining whether a restart is necessary, performed by the program management server 10.
[0066] In step S121, the difference extraction unit 12 acquires, from program storage unit 16, the application 221 that corresponds to the product ID and the version specified in the purchase order. In the present embodiment, it is assumed that an application 221a as illustrated in FIG. 9 is the acquisition target.
[0067] FIG. 9 illustrates an example of an application configuration that is an acquisition target. As illustrated in FIG. 9, application 221a includes program components such as aaa.jar, bbb.jar, ccc.jar, and ddd.jar. The numbers in parentheses indicate the corresponding versions. The versions can be described in attribute files that come with the respective program components, or they can be included as a part of each file name. Product IDs are assigned to application 221a and program components, but are not illustrated in FIG. 9 as a matter of convenience.
[0068] It can be confirmed that the application 221a has a configuration as illustrated in FIG. 9 by opening an application file file 221a, or by referring to the configuration information as illustrated in FIG. 9 which is recorded on the secondary storage device 102 for each application 221a.
[0069] Next, the difference extraction unit 12 extracts difference information that indicates the difference between the installation information and the program components included in application 221a (step S122).
[0070] FIG. 10 illustrates an example of difference information. As illustrated in FIG. 10, the difference information includes program IDs, present versions, new versions, and file names for program components included in application 221a, to indicate the differences between application 221a and program components already installed on the image forming apparatus 20.
[0071] The present version is the version already installed on the image-forming device 20 (that is, the version included in the installation information). As for the programs not installed on the image forming apparatus 20, the value of the present version is not shown (indicated by “-“ in FIG. 10). The new version is the version included in the 221a application.
[0072] The difference information illustrated in FIG. 10 is relevant to application 221a (FIG. 9) which corresponds to the installation information of FIG. 6. Comparing FIG. 9 with FIG. 6, the versions of “aaa.jar” and “ccc.jar” are the same and there are no differences. Meanwhile, as for “bbb.jar”, the versions in FIGS. 9 and 6 are different. Specifically, the version in the installation information is "1.2", whereby the version included in application 221a is "1.5". In addition, “ddd.jar” is not included in the installation information (that is, not installed on the image training device 20). Therefore, differences with respect to “bbb.jar” and “ddd.jar” are extracted as program components having differences (“difference components”), and the information relevant to the difference components is extracted as difference information as illustrated. in FIG. 10.
[0073] Next, the determination unit 13 uses the extracted difference information and the restart need information storage unit 15 to determine the need to restart the imaging apparatus 20 due to an update process, to each difference component (step S123).
[0074] FIG. 11 illustrates an example of a restarting information storage unit configuration 15. As illustrated in FIG. 11, the restart need information storage unit 15 stores values of “1” or “0” that indicate whether restarting the imaging device 20 is necessary when upgrading from an immediately preceding version, for the respective versions of all program components (product IDs) managed by the program management server 10. “1” indicates that a restart is necessary, while “0” indicates that a restart is not necessary. In the following, the value of “1” or “0” that indicates whether a restart is required is referred to as a “restart need value”.
[0075] For example, as for “aaa.jar”, “0” is recorded for version 1.1, and “1” is recorded for version 1.2. This means that a restart is unnecessary when upgrading from version 1.0 to version 1.1, but a restart is necessary when upgrading from version 1.1 to version 1.2.
[0076] The value of "1" or "0" for the initial version ("1.0" in FIG. 11) indicates the need to restart when the program component is initially installed.
[0077] The determination unit 13 determines the need for a restart through the application of the difference information (FIG. 10) for the information (need for restart) recorded in the restart need information storage unit 15, for each difference component. Specifically, as for “bbb.jar”, the version is updated from 1.2 to 1.5. Therefore, unit of determination 13 calculates the logical sum of the restart requirement values relevant to the difference between version 1.2 and version 1.5. Specifically, "1" is obtained as the logical sum of the restart requirement values "1", "1", and "0" of version 1.2, version 1.4 and version 1.5, respectively. Additionally, as for the “ddd.jar” restart requirement information, determination unit 13 calculates the logical sum of the restart requirement values up to version 1.2. Specifically, "1" is obtained as the logical sum of the restart requirement values "1", "0", and "0" from version 1.0, version 1.1, and version 1.2, respectively.
[0078] The logical sum calculated for each difference component is information that indicates whether it is necessary to restart the image forming apparatus 20 according to the update of the corresponding difference component. This means that with the information on the need to restart (FIG. 11) according to the present modality, it is possible to determine whether the restart is necessary not only when updating from the immediately preceding version, but also when updating by versions plural.
[0079] In FIG. 11, information relevant to all program components is managed in a single table; however, in another example, separate tables can be formed for the respective program components (i.e., for the respective rows indicated in FIG. 11). Particularly, when the program components have different version systems, the need for restart information is preferably managed in units of program components.
[0080] Additionally, program management server 10 can manage whether a restart is required when upgrading from a previous version, for the respective versions of program components. For example, program management server 10 can manage whether restarting is necessary when a program component must be upgraded (improved) to version 1.4 from the respective versions of 1.2, 1.2 and 1.0. However, in this case, a large amount of information may be needed. Additionally, the update contents according to improvement processes tend to be cumulative. Therefore, assuming that program management server 10 manages the need to restart when upgrading from an immediately preceding version as illustrated in FIG. 11, and a program module must be updated by a plurality of versions, the need to restart can be efficiently determined by calculating the logical sum of values for the need to restart versions between the original version and the new version which the program module must be updated.
[0081] Next, the unit of determination 13 calculates the logical sum of all the logical sums calculated for the difference components, to determine whether a restart is necessary when updating application 221a (step S124). Specifically, “1” is calculated as the logical sum of “1” for bbb.jar and “1” for ddd.jar. When the logical sum is "1", the determination unit 13 determines that the imaging device 20 needs to be restarted. When the logical sum is "0", the determination unit 13 determines that the imaging device 20 does not need to be restarted. This means that if at least one difference component needs to be reset, the determination unit 13 determines that the imaging device 20 needs to be reset.
[0082] Next, the response unit 14 returns, to the update control unit 223, a response that includes the determination result of the determination unit 13 (see FIG. 7) and the application 221a (step S125) . The response may also include information indicating difference components (difference component information), as illustrated in FIG. 12.
[0083] FIG. 12 illustrates an example of difference component information. FIG. 12 illustrates an example where the difference component information is expressed in XML format.
[0084] An e1 element located in a <modify> marker indicates information relevant to the difference component that is the target for updating. This means that this information is relevant for a difference component that is already installed in the image forming apparatus 20 but is subject to version update. In this modality, “bbb.jar” corresponds to such a difference component.
[0085] Meanwhile, an e2 element located between a <add> marker indicates information relevant to a program component that should be added recently. This means that this information is relevant to a difference component that is not installed on the image formation device 20. In the present modality, “ddd.jar” corresponds to that difference component.
[0086] When the process performed by the image formation apparatus 2 0 is the same in both cases of updating a program and in the new addition of a program, the update process and the addition process need not be distinguished from one of the other, and can be collectively referred to as an upgrade process (a program that must be updated and a program that must be installed can be collectively referred to as an “installation target”).
[0087] Application 221 of the new version may have fewer program components than application 221 of the old version. In this case, the difference components to be deleted are extracted by the difference extraction unit 12. The difference component to be deleted is reported as being a program component to be deleted for the image forming apparatus 20, by including the information of the corresponding difference component in the element located in a <delete> marker.
[0088] When the update control unit 223 of the imaging apparatus 20 receives the difference component information indicated in FIG. 12 together with the 221a application, the update target is limited to the difference components when updating the 221a application. This means that update control unit 223 does not perform the update process (installation process) for all program components included in application 221a. Instead, update control unit 223 performs the update process only for the differences between the 221a application and the components currently installed in the image forming apparatus 20. Therefore, the efficiency of the update process is improved.
[0089] Response unit 14 of program management server 10 can extract difference components from application 221a, and return only difference components to update control unit 223, instead of returning application 221a without modification. When only the difference components are returned, the difference component information in FIG. 12 is not mandatory. This is because the contents returned to the update control unit 223 are already limited to the differences, and therefore, the image forming apparatus 20 does not need to determine what the differences are.
[0090] As described above, according to the first modality, when the program is updated, the program management server 10 dynamically determines whether it is necessary to restart the image forming apparatus 20, based on the difference between the present state of the imaging device 20 and the status of the imaging device 20 after the update. In this way, the frequency of restarting the imaging apparatus 20 can be reduced compared to the case of restarting the imaging apparatus 20 every time an application 221 is updated. Consequently, the availability factor of the image forming apparatus 20 can be increased, thereby improving convenience for the user.
[0091] In the following, a description is given of a second embodiment of the present invention. Only points that are different between the first and second embodiments are described below.
[0092] FIG. 13 illustrates an example of a system configuration according to the second embodiment. In FIG. 13, elements corresponding to those of FIG. 1 are denoted by the same reference numerals, and are not described further.
[0093] In FIG. 13, a device management device 30 is connected to one or more imaging devices 20 via a network 40 (wired or wireless) such as LAN. Device management apparatus 30 is connected to program management server 10 via network 50, in a way that communications can be carried out. Meanwhile, the imaging device 20 can be hidden from the network 50. Therefore, the second mode is appropriate for a case where a user does not want to directly expose the imaging device 20 to the internet, etc.
[0094] The device management device 30 is a computer to mediate the imaging device 20 and the program management server 10, with respect to the process of updating application 221 on the imaging device 20. Additionally, the device management device 30 is operated by the user for the update process according to the second modality.
[0095] The following describes processing procedures according to the second embodiment. FIG. 14 is a sequence diagram for describing the processing procedures of a process for updating an application 221 on the imaging apparatus 20 according to the second embodiment of the present invention.
[0096] When the imaging device 20 to be updated is selected according to an operating instruction entry for device management device 30, device management device 30 requires the imaging device 20 selected transmit installation information (step S201). The update control unit 223 of the imaging apparatus 20 acquires installation information from the installation information storage unit 224, and returns the installation information to the device management apparatus 30 (step S202).
[0097] Next, the device management device 30 specifies the product ID and information version of the application 221 that is entered by the user, and the installation information acquired from the imaging device 20, and transmits an order to purchase application 221 for the program management server (step S203).
[0098] The purchase order is received by the order receipt unit 11 of the program management server 10. The program management server 10 determines whether the imaging apparatus 20 needs to be restarted, when the application 221 specified as an acquisition target in the acquisition order is updated (installed) on the imaging apparatus 20 (step S204). The process contents of step S204 can be the same as those described with reference to FIG. 8. Next, the response unit 14 of the program management server 10 returns, to the device management device 30, the update file that includes the application 221 specified as the acquisition target and the result of determining whether restart is required (step S205).
[0099] The device management device 30 then transmits the update file to the imaging device 20 (step S206). The update control unit 223 of the imaging apparatus 20 saves the received update file to the update file staging unit 225 (step S207).
[0100] The device management device 30 then determines whether to update the imaging device 20 based on the determination result that indicates whether a restart is required included in the response from the program management server 10. When the determination result indicates that a restart is required, device management device 30 causes the display unit of device management device 30 to display a restart confirmation screen image. When the user selects to reject the restart on the restart confirmation screen image, the device management apparatus 30 terminates the process of FIG. 14. This means that in this case, neither the process of restarting the imaging device 20 nor the process of updating the application 221 are performed. Therefore, the user continues to use the non-updated version of application 221 that corresponds to the update target.
[0101] When the user selects to allow a restart on the reset confirmation screen page, the device management device 30 requires the imaging device 20 to perform the restart (step S208). In response to a request to perform the reset, the update control unit 223 causes the imaging device 20 to restart (step S209). In the process of restarting the imaging device 20, the update control unit 223 confirms that an update file is saved in the update file temporary storage unit 225. When an update file is saved, the control unit update 223 performs an update process on application 221 included in the update file (step S211).
[0102] Meanwhile, when the determination result included in the response from the program management server 10 indicates that the restart is unnecessary, the device management device 30 transmits an update request to the imaging device 20 instead a restart order, without displaying a restart confirmation screen image (step S210). However, a restart confirmation screen image can be displayed on the display unit of the device management device 30. In the restart confirmation screen image, when the user selects to allow an update process to start, the device device management 30 immediately transmits an update request. In the restart confirmation screen image, when the user selects to reject the start of an update process, the device management device 30 ends the process of FIG. 14 without transmitting an update request.
[0103] When a predetermined amount of time elapses after transmitting a restart request or an update request, the device management device 30 verifies the imaging device 20 of the result of the update process (step S212). The update control unit 223 of the imaging device 20 returns the result of the update process (information indicating whether the update process was successful) to device management device 30 (step S213). Device management device 30 causes the display unit to display the result of the update process.
[0104] As described above, even when the image forming apparatus 20 does not directly communicate with the program management server 10, the same effects as those of the first modality can be achieved. This means that the target with which the program management server 10 communicates does not necessarily need to be the imaging apparatus 20 on which the application 221 is to be updated.
[0105] According to an embodiment of the present invention, the efficiency of processes for updating programs can be improved.
[0106] The present invention is not limited to the specific modalities described here, and variations and modifications can be made without departing from the scope of the present invention.
[0107] This application is based on Japanese Priority Application No. 2010-182850 filed on August 18, 2010 with the Japan Patent Office, all of which is incorporated herein by reference.
权利要求:
Claims (8)
[0001]
1. Program management server (10) comprising: a restart need information storage unit (15) configured to store restart need information for respective versions of at least one program that is an installation target for a device electronic (20), the information on the need to restart indicating whether the electronic device needs to be restarted when a program is updated to the version from one of an immediately previous version; a difference extraction unit (12) configured to compare a first version of the program installed on the electronic device with a second version of the program in response to a request transmitted by the update control unit (223) of the electronic device (20) to purchase the second version of the program from a program storage unit (16) of the program management server (10), and to extract difference information including program identification information, first version information indicating the first version, and the second version information indicating the second version; a determination unit (13) configured to determine whether the electronic device needs to be restarted to update the first version of the program to the second version of the program, based on the difference information and the need to restart; and a response unit (14) configured to return to the update control unit (223) of the electronic device (20) a determination result obtained by the determination unit in which the update control unit (223) of the electronic device (20) is configured not to restart the electronic device after the first version of the program is updated to the second version of the program, when the determination result returned from the program management server (10) does not require the electronic device to be restarted, characterized by the fact that the determination unit determines that the electronic device (20) needs to be restarted when restarting information, indicating that restarting is necessary, is stored in a restarting information storage unit ( 15) for at least one of the second version of the program and any version of the program between the first version and the second version indicated by the difference information.
[0002]
2. Program management server (10), according to claim 1, characterized by the fact that one of the first version of the program and the second version of the program includes a plurality of program components; restart need information storage unit (15) stores the restart need information for each of the multiple versions of each of the program components, the restart need information for a version of a program component indicating whether the electronic device needs to be restarted when the program component is upgraded to the version from one of an immediately previous version; the difference extraction unit extracts difference information that indicates the differences between program components of the first version of the program and program components of the second version of the program; and the unit of determination determines that the electronic device needs to be restarted to restart the first version of the program for the second version of the program when it is determined, based on the difference information and the restart need information, that at least one of the components program of the second version of the program requires the electronic device to be restarted.
[0003]
3. Program management server (10), according to claim 1 or 2, characterized by the fact that the response unit returns the determination result and the relevant information for the second program indicated in the difference information.
[0004]
4. Non-transitory computer-readable storage medium comprising instructions stored in the same that, when executed, the instructions cause a computer processor to execute a method which comprises: extracting the difference information by comparing a first version of a program installed in an electronic device (20) with a second version of the program in response to a request transmitted by the update control unit (223) of the electronic device (20) to purchase the second version of the program from the program storage unit (16 ) of the program management server (10), in which extracting the information difference includes information identifying the program, first version information indicating the first version, and second version information indicating the second version; determine if the electronic device needs to be restarted to update the first version of the program to the second version of the program, based on the difference information and the restart need information stored in a restart need information storage unit (15) for each of the multiple versions of the program, the information on the need to restart for a version of the program indicating whether the electronic device needs to be restarted when the program is updated to the version from one of an immediately previous version; and return a determination result to the update control unit (223) of the electronic device (20) obtained in the determination, where the update control unit (223) of the electronic device (20) is configured not to reset the electronic device after the first version of the program is updated to the second version of the program, when the determination result returned from the program management server (10) does not require the electronic device to be restarted, characterized by the fact that in the determination, it is determined that the electronic device (20) needs to be restarted when the restart need information indicating that the restart is required is stored in the restart need information storage unit (15) for at least one of the second version of the program and any program version between the first version and the second version indicated by the difference information.
[0005]
5. Non-transitory computer-readable storage medium according to claim 4, characterized in that one of the first version of the program and the second version of the program includes a plurality of program components; restart need information is stored in a restart need information storage unit for each of the multiple versions of each of the program components, restart need information for a version of a program component indicating whether the electronic device needs to be restarted when the program component is upgraded to the version from one of an immediately previous version; the extraction includes extracting the difference information that indicates the differences between program components of the first version of the program and program components of the respective programs of the second version of the program, the determination includes determining that the electronic device needs to be restarted to update the first version of the program to the second version of the program when it is determined, based on the difference information and the need for restart information, that at least one of the program components of the second version of the program requires the electronic device to be restarted.
[0006]
6. Non-transitory computer-readable storage medium, according to claim 4 or 5, characterized by the fact that the return includes returning the determination result and the relevant information to the second version of the program indicated in the difference information.
[0007]
7. Update process support system comprising: a program management server (10) which includes a restart need information storage unit (15) configured to store restart need information for each of the multiple versions of at least one program that is an installation target for an electronic device, the information on the need to restart for a version of the program indicating whether the electronic device needs to be restarted when the program is updated to the version from one of a version immediately previous; a difference extraction unit (12) configured to compare a first version of the program installed on the electronic device with a second version of the program in response to a request to purchase the second version of the program from a program storage unit (16 ), and extract difference information including program identification information, first version information indicating the first version, and a second version information indicating the second version; a determination unit (13) configured to determine whether the electronic device needs to be restarted to update the first version of the program to the second version of the program, based on the difference information and also based on the need to restart; and a response unit (14) configured to return to the electronic device update control unit (20) a determination result obtained by the determination unit, the update process support system further comprising an update control unit (223) of the electronic device (20) configured not to restart the electronic device after the first version of the program is updated to the second version of the program, when the determination result returned from the program management server (10) does not require that the electronic device is restarted, characterized by the fact that the determination unit determines that the electronic device (20) needs to be restarted when the need for restart information indicating that the restart is necessary is stored in the need information storage unit restart (15) for at least one of the second version of the program and qu any version of the program between the first version and the second version indicated by the difference information.
[0008]
8. Update process support system according to claim 7, characterized by the fact that each of the first version of the program and the second version of the program includes a plurality of program components; the restart need information storage unit (15) stores the restart need information for each of the multiple versions of each of the program components, the restart need information for version of a program component indicating whether the electronic device needs to be restarted when the program component is upgraded to the version from one of an immediately previous version; the difference extraction unit extracts difference information that indicates the differences between the program components of the first version of the program and program components of the respective programs of the second version of the program, and the unit of determination determines that the electronic device needs to be restarted to update the first version of the program to the second version of the program, when it is determined, based on the difference information and the need to restart information, that at least one of the program components of the second version of the program requires the device electronic device is restarted.
类似技术:
公开号 | 公开日 | 专利标题
BR112013003593B1|2020-12-15|PROGRAM MANAGEMENT SERVER, STORAGE MEDIA AND UPDATE PROCESS SUPPORT SYSTEM
US8135813B2|2012-03-13|Method, system and program product for remotely deploying and automatically customizing workstation images
JP4371693B2|2009-11-25|Print control apparatus, print control method, and computer program
US20140082602A1|2014-03-20|Deployment and updating of applications and drivers on a client device using an extensible markup language | configuration file
US20140082160A1|2014-03-20|Deployment of a driver or an application on a client device having a write-filter
JP2005338940A|2005-12-08|Installation method, information processor and device driver
JP2015046075A|2015-03-12|Information processor, control method therefor, and computer program
US9952849B2|2018-04-24|Apparatus, information processing system, method for processing information, and program
US8782636B2|2014-07-15|Information processing apparatus, control method thereof, and program
US9086938B2|2015-07-21|Information processing apparatus, control method thereof, and storage medium
US20140149644A1|2014-05-29|Electronic apparatus, method of updating firmware, and computer-readable recording medium
TW515996B|2003-01-01|Method and system for transferring an application program from system firmware to a storage device
US9965299B2|2018-05-08|Information processing apparatus, method for controlling the same, and storage medium
JP5487962B2|2014-05-14|Operation suppression system, image forming apparatus, operation suppression information providing apparatus, and operation suppression method
US10506122B2|2019-12-10|Information processing apparatus and method for controlling the same
US20180349125A1|2018-12-06|Information processing apparatus and program management method
JP2012146241A|2012-08-02|Software update method, software update device, and software update program
US8818969B2|2014-08-26|Information processing apparatus and server, control method, and recording medium
US11140291B2|2021-10-05|Information processing apparatus, control method thereof, and storage medium
US20120324439A1|2012-12-20|Configuration information management method and configuration information management device
WO2017036197A1|2017-03-09|Method and device for managing network element model
JP4693911B2|2011-06-01|Information processing system, control method therefor, server device, and control program therefor
US10356265B2|2019-07-16|Image processing apparatus and application management method
JP6929160B2|2021-09-01|Image forming device and its control method and program
US20120284491A1|2012-11-08|Startup/shutdown sequence
同族专利:
公开号 | 公开日
JP5418442B2|2014-02-19|
AU2011291805B2|2014-12-11|
JP2012043118A|2012-03-01|
KR20130036342A|2013-04-11|
EP2606425B1|2019-07-24|
EP2606425A1|2013-06-26|
US20130145141A1|2013-06-06|
WO2012023528A1|2012-02-23|
CN103080902A|2013-05-01|
BR112013003593A2|2016-05-31|
EP2606425A4|2014-08-06|
US9003388B2|2015-04-07|
SG187641A1|2013-03-28|
CN103080902B|2015-10-21|
AU2011291805A1|2013-03-14|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

JPH11167484A|1997-12-03|1999-06-22|Toshiba Corp|Nonvolatile memory mixed-loaded microcomputer, its program changing history managing method and recording medium recording program changing history managing program of its microcomputer|
JP3669619B2|1999-09-06|2005-07-13|富士通株式会社|Software updating method and apparatus for wireless terminal device|
JP2001134428A|1999-11-09|2001-05-18|Matsushita Electric Ind Co Ltd|Method and device for updating operation program|
JP2003084982A|2001-09-11|2003-03-20|Konica Corp|Method and system for installing program in image processor, image processor having program rewrite function and program rewrite method for image processor|
JP2003308215A|2002-02-14|2003-10-31|Canon Inc|Information processor, control method, and control program|
JP2005056319A|2003-08-07|2005-03-03|Matsushita Electric Ind Co Ltd|Software update system, method and program|
JP4698182B2|2003-09-16|2011-06-08|株式会社リコー|Electronic device, network device, management method, software update method, management program, software update program, and recording medium|
JP4381788B2|2003-12-01|2009-12-09|日本電信電話株式会社|Adapter device, program, and recording medium storing the program|
JP2005276013A|2004-03-26|2005-10-06|Yokogawa Electric Corp|System starting apparatus|
JP4791910B2|2005-08-26|2011-10-12|株式会社リコー|Image forming apparatus, information processing method, information processing program, and recording medium|
US7818736B2|2005-09-14|2010-10-19|International Business Machines Corporation|Dynamic update mechanisms in operating systems|
JP5112787B2|2006-09-01|2013-01-09|株式会社リコー|Information processing apparatus, program update method, and program|
CN101291231A|2007-04-17|2008-10-22|鸿富锦精密工业(深圳)有限公司|Network appliance and restarting method thereof|
JP4539677B2|2007-04-23|2010-09-08|コニカミノルタビジネステクノロジーズ株式会社|Image forming apparatus, program update system, program update method, and program update program|
JP5599557B2|2008-08-29|2014-10-01|株式会社リコー|Information processing apparatus, license determination method, program, and recording medium|
US20100058321A1|2008-09-04|2010-03-04|Anderson Greg L|Approach for deploying software to network devices|
JP5206263B2|2008-09-12|2013-06-12|株式会社リコー|Information processing apparatus, license determination method, and program|
JP4983815B2|2009-01-30|2012-07-25|ブラザー工業株式会社|Information processing apparatus and control program|
JP5263070B2|2009-08-13|2013-08-14|株式会社リコー|Program introduction support apparatus, program introduction support system, program introduction support method, and program introduction support program|
JP5391937B2|2009-09-03|2014-01-15|株式会社リコー|Image forming apparatus, license processing method, and license processing program|
JP5454031B2|2009-09-11|2014-03-26|株式会社リコー|Information processing apparatus, information processing method, and information processing program|
JP5428685B2|2009-09-11|2014-02-26|株式会社リコー|License introduction support device, license introduction support method, and license introduction support program|
JP5413078B2|2009-09-14|2014-02-12|株式会社リコー|Device management system, device management device, mediation device, device management method, and device management program|
JP2011060237A|2009-09-14|2011-03-24|Ricoh Co Ltd|Device and system for supporting program introduction, method and program for controlling display, and recording medium with the program recorded|
US9639347B2|2009-12-21|2017-05-02|International Business Machines Corporation|Updating a firmware package|EP2766819A4|2011-10-14|2015-03-11|Zoll Medical Corp|Automated delivery of medical device support software|
JP5959942B2|2012-06-04|2016-08-02|キヤノン株式会社|Image processing apparatus, control method thereof, program, and firmware update system|
US10101988B2|2013-01-15|2018-10-16|Hewlett Packard Enterprise Development Lp|Dynamic firmware updating|
JP6057740B2|2013-01-24|2017-01-11|キヤノン株式会社|Image forming apparatus, information processing method, and program|
US9910660B2|2013-08-05|2018-03-06|Harman International Industries, Incorporated|Operating system replacement for in-vehicle computing system|
CN104731607B|2013-12-18|2018-10-30|华为技术有限公司|Terminal Lifelong Learning processing method, device and system|
WO2015136970A1|2014-03-14|2015-09-17|オムロン株式会社|Control apparatus and control system|
US9411545B1|2015-01-26|2016-08-09|Kyocera Document Solutions Inc.|Synchronization of different communication channels established between one or more managing servers and one or more remote devices|
JP6216730B2|2015-03-16|2017-10-18|日立オートモティブシステムズ株式会社|Software update device and software update method|
US10581854B2|2015-09-14|2020-03-03|Ricoh Company, Ltd.|Information processing system, information processing apparatus, information processing method, and recording medium|
JP6525275B2|2016-07-21|2019-06-05|Necフィールディング株式会社|Management device, information processing method, and program|
CN107797811B|2016-08-30|2021-05-07|京瓷办公信息系统株式会社|Electronic device, version checking system, and recording medium|
JP6881028B2|2017-05-24|2021-06-02|株式会社リコー|Image forming device, system and control method|
JP2018200510A|2017-05-25|2018-12-20|株式会社デンソーテン|Software update apparatus, software update system and software update method|
JP6889617B2|2017-06-01|2021-06-18|キヤノン株式会社|Information processing equipment, program management methods, and programs|
CN107808134B|2017-10-26|2021-05-25|Oppo广东移动通信有限公司|Image processing method, image processing device and electronic terminal|
US10630857B2|2017-12-21|2020-04-21|Ricoh Company, Ltd.|Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus|
JP2019211876A|2018-05-31|2019-12-12|株式会社リコー|Image forming apparatus, information processing system, electronic apparatus and information processing method|
EP3851968A4|2018-09-10|2021-09-15|Mitsubishi Electric Corporation|Air conditioning system and program update method for air conditioning system|
US10845787B1|2019-07-17|2020-11-24|Rockwell Automation Technologies, Inc.|Concurrent updating for linear topologies in an industrial automation environment|
US11150890B2|2019-09-12|2021-10-19|International Business Machines Corporation|File system synchronization-based updating|
KR102344661B1|2020-12-29|2021-12-30|쿠팡 주식회사|Method for providing information based on expected result value and computing device using the same|
法律状态:
2018-12-26| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2020-08-25| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2020-09-24| B09X| Decision of grant: republication|
2020-12-15| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 08/08/2011, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
JP2010182850A|JP5418442B2|2010-08-18|2010-08-18|Information processing apparatus, electronic device, update processing support method, update processing support program, and update processing support system|
JP2010-182850|2010-08-18|
PCT/JP2011/068485|WO2012023528A1|2010-08-18|2011-08-08|Information processing apparatus and update process support system|
[返回顶部]